Traditionally, networks have been divided into different kinds of infrastructures or fabrics based on the purpose of a given network. As a result, different kinds of networks have been developed for storage networks, communication networks and processor networks, each having different protocols and different network requirements and each designed to meet the particular requirements for data communication within that fabric.
In the case of processor networks, network performance is a critical element in high-performance cluster computing (HPCC) applications. Typically, HPCC applications run for extended periods of time and require sustained I/O of large datasets over the network between processors as well as between the client and server. Predictably, the infrastructure must be capable of supporting multi-gigabit bandwidth, low-latency, very high availability services that are an absolute requirement for high-end cluster inter-process communications. Conventionally, HPCC networks utilize Switched Gigabit Ethernet. Proprietary protocols such as, for example, Myrinet, InfiniBand and Quadrics also find widespread use in connecting processing clusters in a HPCC environment.
The need for massive amounts of data necessitates that the networked processors in a HPCC application, for example, be efficiently connected to a storage network fabric. Conventionally, HPCC supporting infrastructure includes either a storage attached network (SAN) switching fabric such as a Fibre Channel switch, or a Gigabit Ethernet-based network attached storage (NAS) environment. Fibre Channel is the dominant protocol and transport for a SAN fabric because of multi-gigabit speeds and transport protocols that are optimized for moving massive amounts of block storage data between clients and storage devices.
Internet Protocol (IP) communication networks tend to dominate the fabric for communications among different HPCC applications, as well as general communications among clients and servers over the broader Internet fabric. Some storage networks have adopted piggyback protocols suitable for moving block storage data over IP storage networks such as Internet SCSI (iSCSI), Internet Fibre Channel Protocol (iFCP), and Fibre Channel over IP (FCIP). These piggyback protocols, however, do not necessarily permit direct inter-operability between communication networks and storage networks.
The goal of providing inter-fabric interoperability across these different kinds of network fabrics is a well-known goal. While it may be straightforward to achieve this goal in the context of low speed networks where all of the processing required in the network could be accomplished with standard programmable processors, such a solution is simply not viable at the high communication speeds required for high speed networks operating at 10 gigabits per second and higher. For the most part, specialized adapters have been used to make the transition between a specific protocol at the fabric and a common protocol at a central switch node. Although this approach may be transparent to the end-user, it is readily apparent to one skilled in the art that such a patchwork of adapters presents an exponentially exploding problem in terms of the ever-growing number of protocols. The ability to provide a high speed network switch that would be capable of handling multiple protocols is a solution that at least some network equipment makers do not believe is possible. Silvano Gai, “Toward a unified architecture for LAN/WAN/WLAN/SAN switches and routers,” pp. 23, HSPR 2003, Cisco Systems, Inc. (noting the non-availability of a 10 Gb/s cheap LAN switch). Accordingly, there is a need to find a solution to the goal of providing inter-fabric interoperability among networks that is both efficient and scalable for high-speed networks.